package com.zyf;

import java.util.Scanner;

/**
 * 6 最后一个单词的长度

给定一个仅包括大小写字母和空格 ‘  ’ 的字符串 , 返回其最后一个单词的长度
如果不存在最后一个单词,请返回0

说明 : 一个单词是指由字母组成,但不包括任何空格的字符串

示例 : 
输入 :  “Hello World”
输出 :  5

 * @author lenovo
 * @Date 2020年7月2日
 * @Time 下午3:29:27
 */
public class _06_lastWordLength {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		System.out.println("输入一个字符串(回车结束) : " );
		String s1 = sc.nextLine();
		int n = lastWordLength(s1);
		System.out.println(n);
	}
	/**
	 * 最后一个单词的长度方法
	 * @param s1
	 * @return 单词长度
	 * 
	 * 思路:
	 * 依次遍历字符串 s1
	 * 
	 * 从 s1 最后一个元素开始判断,遇到空格跳出循环,单词遍历完毕
	 * 
	 * charAt()方法获取单个字母,不是空格说明是一个单词
	 * 
	 * 返回num个数即可
	 */
	public static int lastWordLength(String s1) {
		//num记录单词长度,i记录遍历位置
		int num = 0,i = 1;
		char c = s1.charAt(s1.length()-i);
		while (c != ' ') {
			num++;
			i++;
			//获取新值
			c = s1.charAt(s1.length()-i);
		}
		return num;
	}

}
